package cn.lzwei.bilimall.product.service;

import cn.lzwei.bilimall.product.vo.AttrRespVo;
import cn.lzwei.bilimall.product.vo.AttrVo;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.lzwei.common.utils.PageUtils;
import cn.lzwei.bilimall.product.entity.AttrEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品属性
 *
 * @author lizewei
 * @email Lizewei2105@163.com
 * @date 2022-12-21 15:39:40
 */
public interface AttrService extends IService<AttrEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 保存：区分销售属性再同步属性属性分组表
     */
    void saveAttr(AttrVo attr);

    /**
     * 查询：分类、模糊查询（返回包括分类名、分组名）
     */
    PageUtils queryBaseAttr(Map<String, Object> params, Long categoryId, String type);

    /**
     * 信息：修改时信息回显。区分销售属性、规格参数
     */
    AttrRespVo attrInfo(Long attrId);

    /**
     * 修改：规格参数才需同步属性属性分组表。
     */
    void updateAttr(AttrVo attrVo);

    /**
     * 查询分组可以新增关联的属性
     */
    PageUtils noAttrGroupRelation(Map<String, Object> params, Long attrgroupId);
    /**
     * 查询分组已经关联的属性
     */
    List<AttrEntity> attrGroupRelation(Long attrgroupId);
}

